/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.tcc.item.view;

import br.com.tcc.modelo.ContasBancarias;
import br.com.tcc.modelo.Lancamento;
import br.com.tcc.modelo.ReceitasDespesas;
import br.com.tcc.util.Util;
import java.text.SimpleDateFormat;
import javafx.beans.property.SimpleStringProperty;

/**
 *
 * @author Edidelson
 */
public class LancamentoItemView {

    private final SimpleDateFormat out = new SimpleDateFormat("dd/MM/yyyy");
    private final SimpleStringProperty codigo;
    private final SimpleStringProperty descricao;
    private final SimpleStringProperty conta;
    private final SimpleStringProperty tipoCota;
    private final SimpleStringProperty valor;
    private final SimpleStringProperty dataLancamento;
    private ContasBancarias codigoConta;
    private ReceitasDespesas codigoReceitas;

    public LancamentoItemView(Lancamento lancamento) {
        this.codigo = new SimpleStringProperty(String.valueOf(lancamento.getCodigo()));
        setCodigoConta(lancamento.getContasBancarias());
        setCodigoReceitas(lancamento.getReceitasDespesas());
        this.descricao = new SimpleStringProperty(lancamento.getDescricao());
        this.conta = new SimpleStringProperty(lancamento.getContasBancarias().getDescricao());
        this.tipoCota = new SimpleStringProperty(lancamento.getReceitasDespesas().getDescricao());
        this.valor = new SimpleStringProperty(Util.NF_VALORES.format(lancamento.getValorLancamento()));
        this.dataLancamento = new SimpleStringProperty(lancamento.getDataLancamento() != null
                ? out.format(lancamento.getDataLancamento()) : "");
    }

    public String getCodigo() {
        return codigo.get();
    }

    public String getDescricao() {
        return descricao.get();
    }

    public String getConta() {
        return conta.get();
    }

    public String getTipoCota() {
        return tipoCota.get();
    }

    public String getValor() {
        return valor.get();
    }

    public String getDataLancamento() {
        return dataLancamento.get();
    }

    public ContasBancarias getCodigoConta() {
        return codigoConta;
    }

    public final void setCodigoConta(ContasBancarias codigoConta) {
        this.codigoConta = codigoConta;
    }

    public ReceitasDespesas getCodigoReceitas() {
        return codigoReceitas;
    }

    public final void setCodigoReceitas(ReceitasDespesas codigoReceitas) {
        this.codigoReceitas = codigoReceitas;
    }

}
